home *** CD-ROM | disk | FTP | other *** search
-
- vb2091 (c) in 1994 by Volker Barthelmann
-
- INTRODUCTION
-
- ZorroII boards can only reach the lower 16MB of address space. So DMA
- SCSI controllers must find another way to transfer data to expansion
- RAM. Some of them (especially the A2091) do a very bad job in this
- situation. In an A4000/40 transfer rates may drop to 50KB/s.
- This program patches the (2nd.)scsi.device to use MEMF_24BITDMA
- RAM as a buffer followed (in case of CMD_READ) by CopyMem().
- It was developed with the A4000/A2091 combinbation in mind, but
- should work with other configurations, too (see REQUIREMENTS).
-
- FEATURES
-
- There are already some PD utilities floating around that do a similar
- job. So why may this one be better?
-
- - It patches the device instead of the Read() & Write() DOS-functions,
- giving the following advantages:
-
- o Programs accessing the device directly (e.g. SysInfo, SCSI-Speed
- or tape-handlers) are patched, too.
- o Patching Read() doesn't seem to have any influence on LoadSeg(), so
- those patches don't speedup loading of programs whereas vb2091 does.
- o It is possible to use double-buffering and load into one buffer
- while copying the contents of the other one to fastram. This makes
- higher transfer rates possible. I wasn't able to get more than
- 800KB/s with DOS-level-patches, but could get over 1MB/s with
- vb2091.
-
- - Some early A4000s (including mine :-( ) can't do DMA to onboard ram.
- On such A4000s every transfer to/from chipmem will cause the
- computer to hang. vb2091 can be told to redirect those transfers too.
-
- WARNING
-
- FIRST: READ THIS ENTIRE FILE BEFORE TRYING OUT vb2091 !!
- (This is meant seriously - I know this is a very bad written manual,
- but it mentions some very important points.)
-
- This program is still beta and I can't give any warranty about anything.
- I have tested it for some time and have not encountered serious
- problems, but had no opportunity to test vb2091 on other configs,
- so there may still be many bugs.
- It seems to work fine with my system (A4000/40, broken DMA, A2091/7.0
- ROMs, Quantum LPS270S, Tandberg streamer) in conjunction with MapBoard,
- however there may be problems with the serial port (I am working on it).
-
- REQUIREMENTS
-
- vb2091 has been compiled with gcc, so it needs ixemul.library in libs:
- and ENV: assigned. Keep this in mind when placing it in Your startup-
- sequence.
-
- As it uses the exec-functions CopyMem()/CacheControl(), it doesn't work
- with early versions of Kickstart (sorry, I don't know since when these
- functions are present - probably since 2.0).
- vb2091 does not check for a correct version at the moment (sorry).
-
- You must have some MEMF_24BITDMA RAM (e.g. RAM on the controller or
- chipmem) to be used as a buffer.
-
- I hope I haven't forgotten anything (of course a controller and some
- expansion RAM would be quite useful).
-
-
- USAGE
-
- [run] vb2091 [DEVICE <device>] [BUFSIZE <bufsize>] [UNIT <unit>]
- [BROKEN] [SINGLE] [NOCACHE] [NOWRITE]
-
- All the keywords must be uppercase! (sorry)
-
- DEVICE Name of the device to be patched.
- (default: 2nd.scsi.device)
-
- BUFSIZE Size of buffer in bytes.
- This MUST be a multiple of 1024! vb2091 doesn't check this
- in the current version (sorry again).
- (default: 262144)
-
- UNIT Unitnumber of a connected device; this is only used to open
- the scsi.device, all other units are patched, too.
- (default: 0)
-
- BROKEN Use this if You have got an A4000 that cannot DMA the chipmem.
- You MUST have some 24Bit fastmem (e.g. on the controller)
- then - vb2091 will only accept MEMF_FAST|MEMF_24BITDMA RAM
- as buffer then.
-
- SINGLE Normally vb2091 uses double-buffering to get slightly higher
- transfer rates; use SINGLE, if free processor time is more
- important to You. Currently only CMD_READ is double-buffered,
- CMD_WRITE is not.
-
- NOWRITE If You specify this option, only CMD_READ ist patched, whereas
- CMD_WRITE will be unchanged. Use this if You don't trust
- vb2091.
-
- NOCACHE If this option is specified, the DataCache will be disabled
- before CopyMem() and enabled after finishing; this will speedup
- CopyMem() (at least on a 040). This has not been tested very
- well, so be careful with this option.
-
-
- Example:
- run >NIL: vb2091 DEVICE scsi.device BUFSIZE 131072 UNIT 6
-
-
- You can remove the patch by sending vb2091 a CTRL-C/break - but don't
- do this while any program is using the device.
-
- CREDITS
-
- This program would not exist without the help of Olaf Seibert (another
- poor fellow with a broken A4000) who encouraged me to write it and
- provided me with helpful information. Thank You, Olaf!
-
- LEGAL
-
- vb2091 may be freely distributed as long as no part of the distribution
- is changed.
-
- This program is Bearware: If You like it, You can send me something
- with a bear on it.
-
- But more important:
-
- If You try it, please send me Your experiences, bugreports,
- suggestions etc.
-
-
-
-
- Volker Barthelmann
- Kennedy-Ring 39
- 91301 Forchheim
- Germany
-
- I should be reachable per eMail via (try both addresses):
-
- barthelm@mi.uni-erlangen.de and/or
- vrbarthe@lsd.nbg.sub.org
-
-
-